package com.mq.common;

import com.mq.common.exception.MqException;
import com.mq.mqserver.core.BasicProperties;

import java.io.IOException;

/*
* 只是一个单纯的函数式接口（回调函数），收到消息之后要处理消息时调用的方法
* */
@FunctionalInterface
public interface Consumer {
    //投递：这个方法的预期是在每次服务器收到消息之后来调用
    //通过这个方法把消息推送给对应的消费者
    //注意，这里的方法名和参数，也是参考 RabbitMq
    void handleDelivery(String consumerTag, BasicProperties basicProperties,byte[] bodys) throws MqException, IOException;
}
